package com.siwei.mes.entity.tgl;

import com.siwei.mes.common.validator.bus.SyncGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;


/**
 * TGL-任务单额外信息表(TglRwdextra)实体类
 *
 * @author linzi
 * @since 2023-12-09 12:01:17
 */
@Data
@Accessors(chain = true)
@Table(name = "tgl_rwdextra")
@ApiModel(value = "TglRwdextra", description = "TGL-任务单额外信息")
public class TglRwdextra implements Serializable {
    private static final long serialVersionUID = 547391911771044937L;
    /**
     * 主键id
     */
    @Id
    @ApiModelProperty(value = "TGL-任务单额外信息表主键ID", name = "id")
    private Long id;
    @Column(name = "EID")
    @ApiModelProperty(value = "额外信息id", name = "eid")
    private Integer eid;
    @Column(name = "FRwdh")
    @ApiModelProperty(value = "任务单号", name = "frwdh")
    private Integer frwdh;
    @Column(name = "extrainfo")
    @ApiModelProperty(value = "额外信息", name = "extrainfo")
    private String extrainfo;
    @Column(name = "scQuantity")
    @ApiModelProperty(value = "生产方量", name = "scquantity")
    private Float scquantity;
    /**
     * 实际总发货数
     */
    @Column(name = "fhQuantity")
    @ApiModelProperty(value = "实际总发货数", name = "fhquantity")
    private Float fhquantity;
    /**
     * 总累计发货量（含排车）
     */
    @Column(name = "totalQuantity")
    @ApiModelProperty(value = "总累计发货量（含排车）", name = "totalquantity")
    private Float totalquantity;
    /**
     * 实际生产到最大车次
     */
    @Column(name = "finishCarNumber")
    @ApiModelProperty(value = "实际生产到最大车次", name = "finishcarnumber")
    private Integer finishcarnumber;
    /**
     * 排车的最大车次
     */
    @Column(name = "totalCarNumber")
    @ApiModelProperty(value = "排车的最大车次", name = "totalcarnumber")
    private Integer totalcarnumber;
    @Column(name = "qrQuantity")
    @ApiModelProperty(value = "签收方量", name = "qrquantity")
    private Float qrquantity;
    /**
     * 首字母
     */
    @Column(name = "initial")
    @ApiModelProperty(value = "首字母", name = "initial")
    private String initial;
    /**
     * 自定义发货方量（包括排车）
     */
    @Column(name = "customFinishQuantity")
    @ApiModelProperty(value = "自定义发货方量（包括排车）", name = "customfinishquantity")
    private Float customfinishquantity;
    /**
     * 最近排车时间
     */
    @Column(name = "currentPcTime")
    @ApiModelProperty(value = "最近排车时间", name = "currentpctime")
    private Date currentpctime;
    @Column(name = "createTime")
    @ApiModelProperty(value = "创建时间", name = "createtime")
    private Date createtime;
    @Column(name = "updateTime")
    @ApiModelProperty(value = "更新时间", name = "updatetime")
    private Date updatetime;
    @Column(name = "planTime")
    @ApiModelProperty(value = "计划时间", name = "plantime")
    private Date plantime;
    @Column(name = "planQuantity")
    @ApiModelProperty(value = "计划方量", name = "planquantity")
    private Float planquantity;
    /**
     * 0-作废 1-不可生产 2-生产中 3-生产完成
     */
    @Column(name = "state")
    @ApiModelProperty(value = "0-作废 1-不可生产 2-生产中 3-生产完成", name = "state")
    private Integer state;
    @Column(name = "THTaskId")
    @ApiModelProperty(value = "砼行任务单id", name = "thtaskid")
    private Integer thtaskid;
    @Column(name = "tbj")
    @ApiModelProperty(value = "备注", name = "tbj")
    private String tbj;
    /**
     * 销售经理
     */
    @Column(name = "saler")
    @ApiModelProperty(value = "销售经理", name = "saler")
    private String saler;
    /**
     * 可签收人
     */
    @Column(name = "signatory")
    @ApiModelProperty(value = "可签收人", name = "signatory")
    private String signatory;
    /**
     * 同步时间戳
     */
    @Column(name = "synctime")
    @ApiModelProperty(value = "同步时间戳", name = "synctime")
    @NotNull(groups = {SyncGroup.class}, message = "同步时间戳为空")
    private Long synctime;
    /**
     * 联系人
     */
    @Column(name = "linkMan")
    @ApiModelProperty(value = "联系人", name = "linkman")
    private String linkman;
    /**
     * 联系电话
     */
    @Column(name = "linkTel")
    @ApiModelProperty(value = "联系电话", name = "linktel")
    private String linktel;
}
